﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ПорядокПризнанияРасходовПоНДС
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"a17b7369-c735-4d87-bc04-6c415f67d1d1\", \"Представление\":\"ПоОплатеПоставщику\"}")]
		ПоОплатеПоставщику = 0,//По оплате поставщику
		[EnumMember(Value = "{\"Ссылка\":\"aa2acf7d-a2f0-4dc1-8ca8-d13761ee0228\", \"Представление\":\"ВключатьВСтоимость\"}")]
		ВключатьВСтоимость = 1,//Включать в стоимость
	}
	public static partial class ПорядокПризнанияРасходовПоНДС_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПоОплатеПоставщику = new Guid("416c04bc-675f-d1d1-4d87-c735a17b7369");//По оплате поставщику
		public static readonly Guid ВключатьВСтоимость = new Guid("37d1a88c-ee61-2802-4dc1-a2f0aa2acf7d");//Включать в стоимость
		public static ПорядокПризнанияРасходовПоНДС Получить(this ПорядокПризнанияРасходовПоНДС Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ПорядокПризнанияРасходовПоНДС Получить(this ПорядокПризнанияРасходовПоНДС Значение, Guid Ссылка)
		{
			if(Ссылка == ПоОплатеПоставщику)
			{
				return ПорядокПризнанияРасходовПоНДС.ПоОплатеПоставщику;
			}
			else if(Ссылка == ВключатьВСтоимость)
			{
				return ПорядокПризнанияРасходовПоНДС.ВключатьВСтоимость;
			}
			return ПорядокПризнанияРасходовПоНДС.ПустаяСсылка;
		}
		public static byte[] Ключ(this ПорядокПризнанияРасходовПоНДС Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ПорядокПризнанияРасходовПоНДС Значение)
		{
			switch (Значение)
			{
				case ПорядокПризнанияРасходовПоНДС.ПоОплатеПоставщику: return ПоОплатеПоставщику;
				case ПорядокПризнанияРасходовПоНДС.ВключатьВСтоимость: return ВключатьВСтоимость;
			}
			return Guid.Empty;
		}
	}
}